草庐IT

python - 抓取内部框架 HTML

全部标签

javascript - 如何抓取无限滚动页面?

我正在尝试构建可以从具有无限滚动的页面中抓取内容的东西。但是,我无法从第一个“中断”下方获取内容。我该怎么做? 最佳答案 无限滚动几乎总是通过使用AJAX或相关技术在JavaScript中完成的。因此,您的网络爬虫获取HTML并解析它是不够的;它必须下载并执行javascript,或者至少扫描它以查找AJAX调用。执行完整的javascript可能是最好的(即最能保证工作),但也可能是最难做到的。扫描AJAX请求的javascript和/或寻找执行AJAX调用的函数然后进行DOM操作可能是最简单的(相对于完整的JS执行)

javascript - 通过 D3 绘制 HTML 表格不会更新现有数据

我正在使用D3绘制HTML表格,输入时一切正常。当我将新项目添加到我的数据集合时,它会将新项目正确添加到表中。问题是每当我更新集合中的现有对象(下面backgroundJobs集合中的对象)时。当我重新运行D3代码来同步表时,它不起作用。没有任何反应。代码如下:varvisibleColumns=['Name','Start','End','Status','Metadata','Errors'];vartable=d3.select('#jobs').append('table');varthead=table.append('thead');vartbody=table.appen

javascript - Selenium (Python): How to insert value on a hidden input?

我正在使用Selenium的WebDriver并使用Python进行编码。有一个隐藏的输入字段,我试图在其中插入一个特定的日期值。该字段最初会生成一个日历,用户可以从中选择合适的日期,但这似乎比直接插入合适的日期值更复杂。页面的源代码如下所示:其中value="2013-11-26"是我试图注入(inject)一个值的字段(它最初是空的,即:value=""。我知道WebDriver无法将值插入隐藏输入,因为普通用户无法在浏览器中执行此操作,但解决方法是使用Javascript。不幸的是,这是一种我不熟悉的语言。有人知道什么会起作用吗? 最佳答案

关于 Python 'map()' 函数的 Javascript 与 Python

在Python中有一个名为map的函数,它允许你去:map(someFunction,[x,y,z])并继续应用该列表功能。是否有与此功能等效的javascript?我现在刚开始学习Python,虽然有人告诉我javascript是函数式语言,但我可以看出我一直在使用非函数式javascript风格进行编程。作为一般规则,javascript能否像Python一样有效地用作函数式语言?它有没有像上面的map函数一样的技巧?我也刚刚开始学习SML类(class),想知道我学到的知识有多少也适用于javascript。 最佳答案 当然!

javascript - 在 JavaScript 或 jQuery 中是否有等效于 Python 的 all 函数?

在Python中,all()函数测试列表中的所有值是否为真。例如,我可以写ifall(xJavaScript或jQuery中是否有等效的函数? 最佳答案 显然,它确实存在:Array.prototype.every.来自mdn的示例:functionisBigEnough(element,index,array){return(element>=10);}varpassed=[12,5,8,130,44].every(isBigEnough);//passedisfalsepassed=[12,54,18,130,44].every

javascript - 如何从 promise 方法内部访问 Angular js Controller 的 "this"?

我有一个简单的AngularjsController,如下所示发出XHR请求app.controller('MainController',['$http',function($http){this.php_response={};varpromise=$http.get('process.php');promise.then(function(success_data){//Idontthink"this"istalkingtothecontrollerthisanymore?this.php_response=success_data;},function(error){conso

javascript - 如何使用 HTML5 音频 API 播放从 XMLHTTPRequest 返回的音频

在向我的服务器端api发出“AJAX”请求时,我无法播放音频。我有后端Node.js代码,它使用IBM的WatsonText-to-Speech服务来提供文本音频:varrender=function(request,response){varoptions={text:request.params.text,voice:'VoiceEnUsMichael',accept:'audio/ogg;codecs=opus'};synthesizeAndRender(options,request,response);};varsynthesizeAndRender=function(opt

javascript - 正则表达式用 HTML 标签包装字符串

我有一个包含很多行的文本区域,如下所示:#1=stuff#2=morestuff...#123=evenmorestuff...我正在使用正则表达式来查找#num=模式(/^#[0-9]*=/),我想让它们成为像这样的anchor标记#123=但它并没有像我想象的那样工作。"#2=".replace(/^#[0-9]*=/,"$1")结果:$1我做错了什么? 最佳答案 您忘记了捕获组或使用$&引用第0组并且您只处理初始数字,因为您使用的是字符串anchor的开头(您需要将其删除以匹配所有它们中的一个,或者如果你想匹配行的开头,请使用

javascript - 如何检测由新的抓取标准发起的请求?一般来说,我应该如何检测 AJAX 请求?

在服务器上,知道传入请求是AJAX是很有用的。大多数js库使用XMLHttpRequest,因此提供HTTP_X_REQUESTED_WITH:XMLHttpRequest,但Chrome的实现和Github'spolyfill都没有提供新的fetch使用类似的header。那么如何检测请求是AJAX请求呢?为什么标识其发起者的请求没有通过fetch和XMLHttpRequest标准强制执行?是否应该使用其他东西来做出决策(例如,客户提供他们期望响应的内容类型)? 最佳答案 查看thisissue在Github'spolyfill上

javascript - 从内部范围访问外部范围

我有一个看起来有点像这样的类型:varx=function(){this.y=function(){}this.z=function(){...this.A=function(){CALLINGPOINT}}}从调用点开始,我试图调用函数this.y。我不需要传递任何参数,但是当我从this.A设置一些东西时,我需要调用this.y。这可能吗?我同意将额外的参数传递给函数以使其成为可能。 最佳答案 Isthispossible?是的,您可以将this引用分配给另一个变量,然后在其上调用函数ythis.z=function(){var